5 research outputs found
On Expressiveness and Behavioural Theory of Attribute-based Communication
Attribute-based communication is an interesting alternative to broadcast and binary communication when providing abstract models for the so called Collective Adaptive Systems which consist of a large number of interacting components that dynamically adjust and combine their behavior to achieve specifc goals. A basic process calculus, named AbC, is introduced whose primary
primitive for interaction is attribute-based communication. An AbC system consists of a set of parallel components each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interactions among components are dynamically established by taking into account\connections" as determined by predicates over the attributes
exposed by components. First, the syntax and the semantics of AbC are presented, then expressiveness and effectiveness of the calculus are demonstrated both in terms of the ability to model scenarios featuring collaboration, reconfiguration, and adaptation
and of the possibility of encoding a process calculus for broadcasting channel-based communication and other communication
paradigms. Behavioral equivalences for AbC are introduced for establishing formal relationships between different descriptions
of the same system
Programming the Interactions of Collective Adaptive Systems by Relying on Attribute-based Communication
Collective adaptive systems are new emerging computational systems consisting of a large number of interacting components and featuring complex behaviour. These systems are usually distributed, heterogeneous, decentralised and interdependent, and are operating in dynamic and possibly unpredictable environments. Finding ways to understand and design these systems and, most of all, to model the interactions of their components, is a difficult but important endeavour. In this article we propose a language-based approach for programming the interactions of collective-adaptive systems by relying on attribute-based communication; a paradigm that permits a group of partners to communicate by considering their run-time properties and capabilities. We introduce AbC, a foundational calculus for attribute-based communication and show how its linguistic primitives can be used to program a complex and sophisticated variant of the well-known problem of Stable Allocation in Content Delivery Networks. Also other interesting case studies, from the realm of collective-adaptive systems, are considered. We also illustrate the expressive power of attribute-based communication by showing the natural encoding of other existing communication paradigms into AbC
A Behavioural Theory for Interactions in Collective-Adaptive Systems
We propose a process calculus, named AbC, to study the behavioural theory of interactions in collective-adaptive systems by relying on attribute-based communication. An AbC system consists of a set of parallel components each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interaction among components is dynamically established by taking into account "connections" as determined by predicates over their attributes. The structural operational semantics of AbC is based on Labeled Transition Systems that are also used to define bisimilarity between components. Labeled bisimilarity is in full agreement with a barbed congruence, defined by simple basic observables and context closure. The introduced equivalence is used to study the expressiveness of AbC in terms of encoding broadcast channel-based interactions and to establish formal relationships between system descriptions at different levels of abstraction
A Foundational Theory for Attribute-based Communication
In open systems, i.e. systems operating in unpredictable environments
and with components that may join or leave at
any time, behaviors can arise as side effects of intensive components
interaction. Finding ways to understand and design
these systems and, most of all, to model the interactions of
their components, is a difficult but important endeavor. To
tackle these issues, we present AbC, a calculus for attributebased
communication. An AbC system consists of a set of
parallel agents each of which is equipped with a set of attributes.
Communication takes place in an implicit multicast
fashion, and interactions among agents are dynamically established
by taking into account 'connections' as determined by
predicates over the attributes of agents. First, the syntax and
the semantics of the calculus are presented, then expressiveness
and effectiveness of AbC are demonstrated both in terms
of modeling scenarios featuring collaboration, reconfiguration,
and adaptation and of the possibility of encoding channelbased
interactions and other interaction patterns. Behavioral
equivalences for AbC are introduced for establishing formal relationships
between different descriptions of the same system.
A Java run-time environment has been developed to support
programming of the above mentioned class of systems by relying
on the communication primitives of the AbC calculus.
The impact of centralized and decentralized implementations
for the underlying communication infrastructure, that mediates
the interaction between components, has been studied
Programming of CAS Systems by Relying on Attribute-Based Communication
In most distributed systems, named connections (i.e., channels) are used as means for programming interaction between communicating partners. These kinds of connections are low level and usually totally independent of the knowledge, the status, the capabilities, ..., in one word, of the attributes of the interacting partners. We have recently introduced a calculus, called AbC, in which interactions among agents are dynamically established by taking into account “connection” as determined by predicates over agent attributes. In this paper, we present Open image in new window, a Java run-time environment that has been developed to support modeling and programming of collective adaptive systems by relying on the communication primitives of the AbC calculus. Systems are described as sets of parallel components, each component is equipped with a set of attributes and communications among components take place in an implicit multicast fashion. By means of a number of examples, we also show how opportunistic behaviors, achieved by run-time attribute updates, can be exploited to express different communication and interaction patterns and to program challenging case studies